home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Loadstar 63
/
063.d81
/
source checkbook
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-08-26
|
13KB
|
351 lines
100 rem@ e3520
110 poke53281,0:poke53280,0:print"[147][211]etting up..."
120 clr:ifpeek(653)thenload"ec.help screens",8,128
130 ifpeek(653)thenload"ec.font",8,128:poke787,0
140 poke53280,11
150 ifpeek(653)then150:rem snapshot here
160 dim a$(4,200),mu$(12),c(8),x(4),y(4),li(4),em$(4),mo$(14),c$(1),a%(200)
170 dimsn(4):c$(0)="[155]":c$(1)="[152]":open15,8,15:rn=1:gosub3140:l=1:poke650,128
180 fori=0to11:readmu$(i):next:readc(1),c(2),c(3),c(4),c(5),c(6),c(7),c(0)
190 fori=0to4:readx(i),y(i),li(i):next:fori=1to14:readmo$(i):next
200 ln$="----------------------------------------":ln$=ln$+ln$
210 fori=0to4:reada$(i,0):next
220 tc$="10101010101":x$=chr$(13):mo$(0)="[196]ecember"
230 bo$="[158] "
240 bo$=bo$+" [145][145]"
250 print"[147]"
260 sp$=" ":rb$="0.00":b$=rb$:bb$=rb$
270 poke53281,0:poke53280,11
280 gosub310
290 onlgosub900,1920,2800,2650,2900,3070,3140,3160,3240,3470,1530,3320
300 goto280
310 ifpeek(2023)<>95thengosub770
320 ifpeek(1110)<>197thengosub860
330 print""spc(5);" [197] [193] [211] [217] [160] [195] [200] [197][160][195] [203] [194] [207] [207] [203] ":ifl<1orl>12thenl=1
340 gosub1640
350 poke214,19:print:print" [185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185] "
360 print" [158] [146] "
370 print" [158] [146] "
380 print" [184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184] "
390 m1$="[195][210][211][210]/[210][197][212][213][210][206] to select":m2$="[195][212][210][204]-[200] to help":gosub830
400 print"";:tc=0:fori=0to11:tc=nottc:printspc(5)""c$(-tc)mu$(i):next
410 poke198,0
420 geta$:gosub740:ifa$<>"[145]"anda$<>""anda$<>chr$(13)anda$<>""anda$<>"?"then420
430 ifa$=chr$(13)thenct=1:gosub750:return
440 ifa$=""thenl=12:return
450 ifa$="?"thenm1$="[198]ree memory "+str$(fre(0)):m2$="[208]ress a key...":gosub830
460 ifa$="?"thenpoke198,0:wait198,1:geta$:goto310
470 poke214,3+l:poke211,5:sys58732:print""c$(val(mid$(tc$,l,1)))mu$(l)
480 ifa$=""thenl=l+1:ifl>11thenl=1
490 ifa$="[145]"thenl=l-1:ifl<1thenl=11
500 poke214,3+l:poke211,5:sys58732:print""mu$(l):ct=7:goto420
510 rem data table
520 data"[155] "
530 data" [195]reate/[213]pdate [195]heckbook "
540 data" [204]ist [195]hecks ([211]creen/[208]rinter) "
550 data" [204]oad a file "
560 data" [211]ave this file "
570 data" [211]end disk command "
580 data" [211]ort checks for listing "
590 data" [210]estore sorted checks "
600 data" [211]ee deposits "
610 data" [212]otals of checks/deposits "
620 data" [210]eset [208]rogram "
630 data" [210]eturn to [204]oadstar "
640 rem color data
650 data1,15,12,11,12,15,1,7
660 rem prompt positions on screen in t the order: x, y, length
670 data10,2,8,29,2,5,5,7,18,22,9,9,5,13,18
680 rem menu glow bar
690 rem month names
700 data"[202]anuary","[198]ebruary","[205]arch","[193]pril","[205]ay","[202]une","[202]uly","[193]ugust"
710 data"[211]eptember","[207]ctober","[206]ovember","[196]ecember","[193]bort","[206]o file"
720 rem field names
730 data"[196]ate","[195]heck","[208]ayee","[193]mount","[208]urpose"
740 ct=ct+.2:ifct>7thenct=1
750 poke646,c(ct):poke214,3+l:poke211,5:sys58732:print""mu$(l):return
760 rem background pattern
770 print"";
780 fori=1to83:print"[159][169][169][223][223][159][169][169][223][223][159][169][169][223][223]";:next:print""
790 fori=8to11:poke2012+i,peek(2012-40+i):poke56284+i,peek(56284-40+i):next
800 rem clear line links
810 fori=217to242:pokei,peek(i)or128:next:return
820 rem print message
830 printbo$spc(20-len(m1$)/2)m1$
840 print""spc(20-len(m2$)/2)m2$"":m1$="":m2$="":return
850 rem print box
860 print"[158][176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174]":fori=1to13
870 printspc(4)"[221] [221]":next
880 printspc(4)"[173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189]":return
890 rem enter checks/deposits
900 gosub860:m1$="[198]1 next [198]2 previous ^ exit."
910 m2$="[198]4 first [198]3 last [195][210][211][210]/[210][197][212] select":gosub830
920 print"[159][196]ate: [195]heck #: "
930 print"[163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]"
940 print"[208]ay to the order of:"
950 print"[163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]"
960 printspc(13)"[193]mount: $ "
970 printspc(21)"[163][163][163][163][163][163][163][163][163][163][163][163][163][163]"
980 print"[195]omment:"
990 print"[163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][158]"
1000 fori=0to4:poke211,x(i):poke214,y(i):sys58732:printa$(i,rn):next
1010 print"":it=0
1020 rem loop to enter check data
1030 h=it:forit=0to4:ifa$(it,rn)=""thena$(it,rn)=left$(sp$,li(it))
1040 ct=0:gosub1360:next:it=h
1050 geta$:poke199,1:gosub1350:ifa$=""then1050
1060 ifa$="^"thenreturn
1070 ifa$=""ora$=""thenct=0:gosub1360:it=it+1:ifit>4thenit=0
1080 ifa$="[157]"ora$="[145]"thenct=0:gosub1360:it=it-1:ifit<0thenit=4
1090 ifrn=200then1110
1100 ifa$="[133]"thenifrn<max+1thenit=it-1:gosub1810:rn=rn+1:gosub1640:goto1030
1110 ifa$="[134]"thenrn=max:it=it-1:gosub1810:gosub1640:goto1030
1120 ifa$="[138]"thenrn=1:it=it-1:gosub1810:gosub1640:goto1030
1130 ifa$="[137]"thenifrn>1thengosub1810:rn=rn-1:gosub1640:goto1030
1140 ifa$="[135]"thengosub3280:goto900
1150 ifval(a$(3,rn))thenifrn>maxthenmax=rn:gosub1640
1160 ifa$=""ora$="[157]"ora$="[145]"ora$=""ora$="[133]"ora$="[137]"ora$="[135]"then1050
1170 ifa$<>chr$(13)thenpoke631,asc(a$):poke198,1
1180 gosub1320:poke214,y(it):poke211,x(it):sys58732:poke646,1
1190 li=li(it):gosub1390:ifw$<>""thena$(it,rn)=w$
1200 ifw$=""then1280
1210 ifval(a$(3,rn))thenifrn>maxthenmax=rn:gosub1640
1220 ifrnthenifa$(1,rn)="0"thengosub3540:a$(1,rn)=mid$(str$(val(a$(1,bc))+1),2)
1230 ifrnthenifit<>1thenifa$(it,rn)="0"thena$(it,rn)=a$(it,rn-1)
1240 ifa$(2,rn)="d"ora$(2,rn)="deposit"ora$(2,rn)="[196]eposit"thena$(2,rn)="[196][197][208][207][211][201][212]
1250 [139]a$(2,rn)[178]"r"[176]a$(2,rn)[178]"reconciliation"[167]a$(2,rn)[178]"(NULL)vallen(NULL)(NULL)lenright$(NULL)right$atn(NULL)right$(NULL)(NULL)"
1260 [139]a$(2,rn)[178]"v"[176]a$(2,rn)[178]"void"[176]a$(2,rn)[178]"(NULL)oid"[167]a$(2,rn)[178]"(NULL)(NULL)right$str$"
1270 [139]it[178]3[167]a$[178]a$(3,rn):[141]1840:a$(3,rn)[178]a$
1280 ct[178]0:[141]1360:it[178]it[170]1
1290 [139]it[177]4[167]it[178]0:[139][197](a$(3,rn))[167][151]631,[198]("input"):[151]198,1
1300 [137]1050
1310 [143] clear out field before typing over
1320 [151]214,y(it):[151]211,x(it):[158]58732:[153][200](sp$,li(it))
1330 [142]
1340 [143] make fields glow
1350 ct[178]ct[170].2:[139]ct[177]7[167]ct[178]1
1360 [151]646,c(ct):[151]214,y(it):[151]211,x(it):[158]58732
1370 [153]a$(it,rn)[200](sp$,[182](li(it)[171][195](a$(it,rn)))):[142]
1380 [143] get word routine
1390 [139]gx[167][151]214,gy:[151]211,gx:[158]58732
1400 w$[178]"":lw[178]0:[153]">waitcmd";:[139]limit[178]0[167]limit[178]10
1410 [161]a$:[139]a$[178]""[176]a$[178]"load"[176]a$[178]""[167]1410
1420 [139]a$[178]"on"[176]a$[178]""[176]a$[178]"cmd"[176]a$[178]""[176]a$[178]","[176]a$[178]";"[176]a$[178]":"[167]1410
1430 as[178][198](a$):[139]as[178]13[176]as[178]141[176]as[178]20[167]1490
1440 [139][194](653)[178]2[176][194](653)[178]4[176]as[178]148[1